<?php
/**
 * 微信API验证器
 * @author 王勇程 <laughskydragon@qq.com>
 */

namespace app\api\validate;

use think\Validate;

/**
 * 微信验证器
 */
class Wechat extends Validate
{
    /**
     * 验证规则
     */
    protected $rule = [
        'code' => 'require|max:255',
        'encrypted_data' => 'require',
        'iv' => 'require',
        'user_token' => 'require',
        'inviter_id' => 'integer',
    ];

    /**
     * 验证消息
     */
    protected $message = [
        'code.require' => '微信授权码不能为空',
        'code.max' => '微信授权码长度不能超过255个字符',
        'encrypted_data.require' => '加密数据不能为空',
        'iv.require' => '初始向量不能为空',
        'user_token.require' => '用户令牌不能为空',
        'inviter_id.integer' => '邀请人ID必须为数字',
    ];

    /**
     * 验证场景
     */
    protected $scene = [
        'mini_login' => ['code', 'inviter_id'],
        'auth_mobile' => ['user_token', 'encrypted_data', 'iv'],
    ];
}
